package negocio;

import beans.ProductoTo;
import beans.UsuarioTo;
import dao.ProductoDAO;
import dao.UsuarioDAO;

import java.util.ArrayList;
import java.util.Iterator;

import utildb.Transaction;
import utildb.TransactionException;

public class RegistrarProveedorManager {

     public RegistrarProveedorManager() {
        super();
    }

    	public void regiProveedor(UsuarioTo to, ArrayList productos) throws RegistrarProveedorManagerException, ProductoManagerException {
		Transaction t = new Transaction() {};
                ProductoManager pmg = new ProductoManager();
                boolean lb_okey = false;
		try {
			if(to.loginVacio())
			    throw new RegistrarProveedorManagerException("Login esta en blanco");
			else {
        		     UsuarioDAO user = new UsuarioDAO(t);
			     user.create(to);
                                
                             // Ahora registrar sus productos
                             if (productos != null) {
        			for (Iterator it = productos.iterator(); it.hasNext();) {
                                    ProductoTo oProd = (ProductoTo) it.next();
                                    lb_okey = false;
                                    lb_okey = pmg.existeProducto(to.getCruc_Usua(), oProd.getCcod_Prod());
                                    if (lb_okey == false) {
                                        ProductoDAO fact = new ProductoDAO(t);
                                        fact.create(oProd);
                                    }
                                }
                             }
                             // Grabar
			     t.commit();
			}
		} catch (TransactionException e) {
			t.rollback();
			throw new RegistrarProveedorManagerException(e.getMessage());
		} finally {
			t.close();
		}
	}
}
